<?php

namespace App\Models;

use App\Modules\Health\Models\Meridian;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;

class HealthNote extends Model
{
    use HasDateTimeFormatter;

    protected $table = 'health_note';

    protected $primaryKey = 'id';

    protected $fillable = [
        'title', // 标题
        'content', // 内容
        'pusher_id', // 发布者ID
        'member_id', // 发布者ID
        'belong_type', // 关联类型
        'belong_id', // 关联ID
        'examine_status', // 状态 0-未审核 1-审核不通过 2-审核通过
        'examine_time', // 审核时间
        'relay_count', // 转发数
        'fav_count', // 点赞数
        'is_show', // 是否显示 0-否 1-是
        'is_hot', // 是否推荐 0-否 1-是
    ];

    public function pusher()
    {
        return $this->belongsTo(Publisher::class, 'pusher_id', 'id');
    }

    public function member()
    {
        return $this->belongsTo(Member::class, 'member_id', 'id');
    }

    public function meridian()
    {
        return $this->belongsTo(Meridian::class, 'belong_id', 'id');
    }

    public function belong()
    {
        return $this->morphTo();
    }

    public function favorites()
    {
        return $this->hasMany(HealthNoteFavorites::class, 'note_id', 'id');
    }

    public function comments()
    {
        return $this->hasMany(HealthNoteComments::class, 'note_id', 'id');
    }
}
